Telegram Group & Telegram Channel
#تجربه

امروز یک اتفاق جالبی برام افتاد گفتم بگم :

حدودا ۲ سال قبل یک پروژه‌ای رو وارد شدم که برای ۲ تا شریک بود (هر ۲ نیروی فنی) اما دیدها و فیچرهای متفاوت رو نیاز داشتند.
وقتی من وارد شدم از درگیری‌هاشون گذشته بود؛ توی مصاحبه من هر ۲ نفر بودند ولی وقتی همکاری شروع شد فقط ۱ نفر بود و خیلی چیزا هم عوض شده بود.
پیگیر شدم فهمیدم از هم جداشدند بصورت دوستانه و قراره هرکسی با تکنیک خودش و فیچرهای مدنظر خودش کار رو پیش ببره؛ درآمد و ... همه چیز هم قبل جداشدن با رضایت ۲ نفر تقسیم شده بود.
از روی رفاقیت زیاد شاید؛ هرکدوم تو اولین اقدام یک سهم مثلاْ ۵٪ به شریکی که دیگه توی شرکتش نیست هم داده بود.
کسی که من باهاش شروع به کار کردم؛ آدم خیلی حرفه‌ای نبود از نظر کد اما توی بیزینس کد زدن و کار رو یادگرفته بود؛ شریکش اما آدم آکادمیک و بسیار بسیار با سواد بالا در زمینه فنی بود.
ما کار رو شروع کردیم؛ نیروهایی که گرفتیم نهایتا میدیور بودند؛ دستمزدها پایین اما اجازه میداد بهشون انگیزه (پاداش) بدیم؛ و هزینه اینکار هم نیاز به آموزش دادن و البته شلوغ شدن خودمون موقع code review بود.
با همین فرمون و همونطور که حدس زدید چیزی به اسم clean code, code optimization, ... هم نداشتیم.
تقریبا هر ۲ هفته فیچر تحویل می‌شد؛ یک گروهی با فیچر کار میکرد نهایتا ۱ هفته هم مشکلات برطرف می‌شد و دپلوی انجام می‌شد؛ اما تو کل این مسیر تست نویسی موارد اصلی رو داشتیم.
مثلا ما هیچوقت تست نویسی دیتابیس؛ ستون‌ها و ... رو انجام ندادیم اما تست نویسی model, schema, request, response رو توی بکند داشتیم.
توی ۶ ماه پروژه لانچ شد و توی ماه ۹ام قراردادهای اصلیش شروع شد؛ من هم ۳ ماه بعدش وقتی todo plan, ... رو نوشته بودیم و می‌دونستیم تا ۶ ماه آینده تسک‌های اصلی چی هست (تست‌نویسی؛ تمیزکردن و اپتیمایز کردن) برای یک موقعیت شغلی بهتر از تیم خداحافظی کردم و مدیر فنی دیگری وارد شد.
.
امروز متوجه شدم شرکتی که باهاش کار میکردم؛ شرکت رقیب (یعنی دوستش) رو خریده و صاحب همه امتیاز و کدها و فیچر و ... شده.
.
تفاوت تیم من و شرکت رقیب این بود که من و مدیرم جفتمون بیزینس رو دیدیم و می‌دونیم یک چیزایی مثل clean code, optimization , .... رو می‌شه حذف کرد ولی توی کارمون اولین باشیم؛ می‌دونیم با سرمایه‌گذاری روی نیروی تازه‌کار می‌شه به شرکت اجازه خطا کردن داد چون پول بیشتری نگه‌داشتیم و البته وقتی دستمزد کمتری پرداخت می‌کنید (چون ما بیشتر نیروهامون تازه کار و میدیور بودند چندتا متخصص هم داشتیم ولی خب خیلی کمتر نسبت به رقیب که برای هر حوزه حداقل ۱ نیروی متخصص آورده بود) پاداش و هدایای انگیزشی می‌شه به نیروها داد.

.
شرکت رقیب حدودا ۷ ماه بعد از ما نسخه اولیه رو لانچ کرد ۷ ماهی که به ما بازار هدف رو یاد داد؛ نشون داد چقدر فرضیات ما اشتباه بوده و ...
توی این ۷ ماه مشتری‌های ما پر توقع شدند؛ وقتی شرکت رقیب با نسخه اولیه اومد و چون این دانش بازار رو نداشت بازاریابیش همیشه به نفع ما تموم می‌شد؛ مشتری رو متقاعد میکرد که همچین سیستمی‌ رو نیاز داره.
اما مشتری قبل خرید تحقیق میکرد و سیستم مارو می‌دید؛ فیچرهای بیشتر + قیمت ارزون‌تر مجاب می‌شد از ما خرید کنه چون ما نیروهامون ارزونتر بود و هزینه کمتری برای راه‌اندازی داده بودیم.

همه این‌هارو گفتم چون از بچه‌هایی که کتاب fluent python رو می‌خونند سوال ازم میشه شما همیشه اینجوری کد میزنید ؟ جوابش هم قطعا خیر هست.

همینجا هشدار باید بدم اگر رفتید سراغ تکنیک بالا حتما باید تجربه و سابقه اش رو داشته باشید. مدیریت همچین تیم و همچین وضعیت کدی با کوچکترین اشتباه تبدیل به بحران میشه.
این تکنیک مثل یک تیغ تیز هست که شما روی لبه‌اش دارید راه میرید؛ اگر این کار رو درست انجام بدید برنده خواهید بود.
اضافه کردن تست نویسی و هزینه و زمان صرف کردن روی این مورد اما برای من این لبه تیز تیغ رو تبدیل به طناب یا پل باریک کرد.

پ.ن :
آدم آکادمیک بودن ربطی به دانشگاه رفتن و نرفتن نداره؛ منظور تجربه پیاده‌سازی سیستم هست. آدمی که دوره زیادی دیده و کتاب‌های زیادی خونده اما هیچوقت سیستم کامل پیاده‌سازی نکرده یا حتی بطور جداگانه روی بخش‌های مختلف سیستم و فقط با دید فنی کار کرده.
👍70158❤‍🔥4🦄2



tg-me.com/pyHints/522
Create:
Last Update:

#تجربه

امروز یک اتفاق جالبی برام افتاد گفتم بگم :

حدودا ۲ سال قبل یک پروژه‌ای رو وارد شدم که برای ۲ تا شریک بود (هر ۲ نیروی فنی) اما دیدها و فیچرهای متفاوت رو نیاز داشتند.
وقتی من وارد شدم از درگیری‌هاشون گذشته بود؛ توی مصاحبه من هر ۲ نفر بودند ولی وقتی همکاری شروع شد فقط ۱ نفر بود و خیلی چیزا هم عوض شده بود.
پیگیر شدم فهمیدم از هم جداشدند بصورت دوستانه و قراره هرکسی با تکنیک خودش و فیچرهای مدنظر خودش کار رو پیش ببره؛ درآمد و ... همه چیز هم قبل جداشدن با رضایت ۲ نفر تقسیم شده بود.
از روی رفاقیت زیاد شاید؛ هرکدوم تو اولین اقدام یک سهم مثلاْ ۵٪ به شریکی که دیگه توی شرکتش نیست هم داده بود.
کسی که من باهاش شروع به کار کردم؛ آدم خیلی حرفه‌ای نبود از نظر کد اما توی بیزینس کد زدن و کار رو یادگرفته بود؛ شریکش اما آدم آکادمیک و بسیار بسیار با سواد بالا در زمینه فنی بود.
ما کار رو شروع کردیم؛ نیروهایی که گرفتیم نهایتا میدیور بودند؛ دستمزدها پایین اما اجازه میداد بهشون انگیزه (پاداش) بدیم؛ و هزینه اینکار هم نیاز به آموزش دادن و البته شلوغ شدن خودمون موقع code review بود.
با همین فرمون و همونطور که حدس زدید چیزی به اسم clean code, code optimization, ... هم نداشتیم.
تقریبا هر ۲ هفته فیچر تحویل می‌شد؛ یک گروهی با فیچر کار میکرد نهایتا ۱ هفته هم مشکلات برطرف می‌شد و دپلوی انجام می‌شد؛ اما تو کل این مسیر تست نویسی موارد اصلی رو داشتیم.
مثلا ما هیچوقت تست نویسی دیتابیس؛ ستون‌ها و ... رو انجام ندادیم اما تست نویسی model, schema, request, response رو توی بکند داشتیم.
توی ۶ ماه پروژه لانچ شد و توی ماه ۹ام قراردادهای اصلیش شروع شد؛ من هم ۳ ماه بعدش وقتی todo plan, ... رو نوشته بودیم و می‌دونستیم تا ۶ ماه آینده تسک‌های اصلی چی هست (تست‌نویسی؛ تمیزکردن و اپتیمایز کردن) برای یک موقعیت شغلی بهتر از تیم خداحافظی کردم و مدیر فنی دیگری وارد شد.
.
امروز متوجه شدم شرکتی که باهاش کار میکردم؛ شرکت رقیب (یعنی دوستش) رو خریده و صاحب همه امتیاز و کدها و فیچر و ... شده.
.

تفاوت تیم من و شرکت رقیب این بود که من و مدیرم جفتمون بیزینس رو دیدیم و می‌دونیم یک چیزایی مثل clean code, optimization , .... رو می‌شه حذف کرد ولی توی کارمون اولین باشیم؛ می‌دونیم با سرمایه‌گذاری روی نیروی تازه‌کار می‌شه به شرکت اجازه خطا کردن داد چون پول بیشتری نگه‌داشتیم و البته وقتی دستمزد کمتری پرداخت می‌کنید (چون ما بیشتر نیروهامون تازه کار و میدیور بودند چندتا متخصص هم داشتیم ولی خب خیلی کمتر نسبت به رقیب که برای هر حوزه حداقل ۱ نیروی متخصص آورده بود) پاداش و هدایای انگیزشی می‌شه به نیروها داد.

.
شرکت رقیب حدودا ۷ ماه بعد از ما نسخه اولیه رو لانچ کرد ۷ ماهی که به ما بازار هدف رو یاد داد؛ نشون داد چقدر فرضیات ما اشتباه بوده و ...
توی این ۷ ماه مشتری‌های ما پر توقع شدند؛ وقتی شرکت رقیب با نسخه اولیه اومد و چون این دانش بازار رو نداشت بازاریابیش همیشه به نفع ما تموم می‌شد؛ مشتری رو متقاعد میکرد که همچین سیستمی‌ رو نیاز داره.
اما مشتری قبل خرید تحقیق میکرد و سیستم مارو می‌دید؛ فیچرهای بیشتر + قیمت ارزون‌تر مجاب می‌شد از ما خرید کنه چون ما نیروهامون ارزونتر بود و هزینه کمتری برای راه‌اندازی داده بودیم.

همه این‌هارو گفتم چون از بچه‌هایی که کتاب fluent python رو می‌خونند سوال ازم میشه شما همیشه اینجوری کد میزنید ؟ جوابش هم قطعا خیر هست.

همینجا هشدار باید بدم اگر رفتید سراغ تکنیک بالا حتما باید تجربه و سابقه اش رو داشته باشید. مدیریت همچین تیم و همچین وضعیت کدی با کوچکترین اشتباه تبدیل به بحران میشه.
این تکنیک مثل یک تیغ تیز هست که شما روی لبه‌اش دارید راه میرید؛ اگر این کار رو درست انجام بدید برنده خواهید بود.
اضافه کردن تست نویسی و هزینه و زمان صرف کردن روی این مورد اما برای من این لبه تیز تیغ رو تبدیل به طناب یا پل باریک کرد.

پ.ن :
آدم آکادمیک بودن ربطی به دانشگاه رفتن و نرفتن نداره؛ منظور تجربه پیاده‌سازی سیستم هست. آدمی که دوره زیادی دیده و کتاب‌های زیادی خونده اما هیچوقت سیستم کامل پیاده‌سازی نکرده یا حتی بطور جداگانه روی بخش‌های مختلف سیستم و فقط با دید فنی کار کرده.

BY Python Hints


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyHints/522

View MORE
Open in Telegram


Python Hints Telegram | DID YOU KNOW?

Date: |

How Does Telegram Make Money?

Telegram is a free app and runs on donations. According to a blog on the telegram: We believe in fast and secure messaging that is also 100% free. Pavel Durov, who shares our vision, supplied Telegram with a generous donation, so we have quite enough money for the time being. If Telegram runs out, we will introduce non-essential paid options to support the infrastructure and finance developer salaries. But making profits will never be an end-goal for Telegram.

A project of our size needs at least a few hundred million dollars per year to keep going,” Mr. Durov wrote in his public channel on Telegram late last year. “While doing that, we will remain independent and stay true to our values, redefining how a tech company should operate.

Python Hints from cn


Telegram Python Hints
FROM USA